#ifndef __LISTCTRL_WRAPPER_H__
#define __LISTCTRL_WRAPPER_H__

#include <map>

struct ui_info_t 
{
	ui_info_t()
	{
		index = 0;
		ischeck = false;
		type = 0;
	}

	UINT index;
	BOOL ischeck;
	int type;
};

typedef std::map<int, ui_info_t> map_ui_info;

enum elist_type
{
	e_left = 0,
	e_top,
	e_bottom,
};

class listctrl_wrapper : public CListCtrl
{
public:
	listctrl_wrapper();
	~listctrl_wrapper();
	

	virtual BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult);

	ui_info_t get_ui_info(int index, int &commandid);
	BOOL up_item(int index);
	BOOL down_item(int index);
	BOOL delete_item(int index);
public:
	map_ui_info map_ui_info_;
	int list_type_;
protected:
	DECLARE_MESSAGE_MAP()
private:
};


#endif


